#!/bin/sh

# 检查 curl 和 wget 是否可用
if command -v curl >/dev/null 2>&1; then
    download_to_file() { curl -o "$1" "$2"; }
    download_recursive() { eval "curl -o \"$1\" \"$2\""; }
elif command -v wget >/dev/null 2>&1; then
    download_to_file() { wget -O "$1" "$2"; }
    download_recursive() { wget -P "$(dirname "$1")" "$2"; }
else
    echo "没有可用的下载工具 (curl 或 wget)。请安装 curl 或 wget，然后再运行这个脚本。"
    exit 1
fi

# 设置清单的 URL
list_url="http://update.5168.ink:8888/openwrt/qd_app.txt"

# 使用 curl 或 wget 下载清单，并保存为临时文件
temp_file=$(mktemp)
download_to_file "$temp_file" "$list_url"

# 读取第一行，设置下载目录
download_dir=$(head -n 1 "$temp_file" | tr -d '\r')

# 从第二行开始读取文件名
tail -n +2 "$temp_file" | tr -d '\r' | while read -r file_name
do
    # 获取 URL 的主机部分
    host_part=$(echo "$file_name" | awk -F/ '{print $3}')

    # 删除 URL 的主机部分
    file_path="$download_dir/$(echo "$file_name" | sed "s|http://$host_part/||")"

    # 创建文件的目录
    mkdir -p "$(dirname "$file_path")"

    # 使用 curl 或 wget 下载文件
    download_recursive "$file_path" "$file_name"

    # 添加执行权限
    chmod +x "$file_path"

     # 添加到环境变量
    echo "export PATH=\$PATH:$(dirname "$file_path")" >> /etc/profile
done

# 删除临时文件
rm "$temp_file"